Operation | Application Interface Options |
---|
Create a Frame Scheduler | frs_t* frs_create(int cpu, int intr_source, int intr_qualifier, int n_minors, pid_t sync_master_pid, int num_slaves); frs_t* frs_create_master(int cpu, int intr_source, int intr_qualifier, int n_minors, int num_slaves); frs_t* frs_create_slave(int cpu, frs_t* sync_master_frs); |
Enqueue an activity process to a Frame Scheduler | int frs_enqueue(frs_t* frs, pid_t pid, int minor_index, uint discipline); |
Join a Frame Scheduler (activity is ready to start) | int frs_join(frs_t* frs); |
Start scheduling (all activities enqueued) | int frs_start(frs_t* frs); |
Yield control after completing activity | int frs_yield(void); |
Pause scheduling at end of minor frame | int frs_stop(frs_t* frs); |
Resume scheduling at next time-base interrupt | int frs_resume(frs_t* frs): |
Destroy a Frame Scheduler and send SIGKILL to its FRS control process | int frs_destroy(frs_t* frs); |
Interrogate a process queue | int frs_getqueuelen(frs_t* frs, int minor_index); int frs_readqueue(frs_t* frs, int minor_index, pid_t* pidlist); |
Remove a process from a queue | int frs_premove(frs_t* frs, int minor_index, pid_t remove_pid); |
Reinsert a process in a queue, possibly changing discipline | int frs_pinsert(frs_t* frs, int minor_index, pid_t insert_pid, int discipline, pid_t base_pid); |
Retrieve error-recovery options | int frs_getattr( frs_t* frs, int minor_index, pid_t pid, frs_attr_t att_index, frs_recv_info_t* options); |
Set error-recovery options | int frs_setattr( frs_t* frs, int minor_index, pid_t pid, frs_attr_t att_index, frs_recv_info_t* options); |